package com.pet_service.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * MyBatis-Plus配置类
 * 用于配置MyBatis-Plus的相关插件和设置
 */
@Configuration
@MapperScan("com.**.mapper") // 扫描所有模块下的mapper接口 com.**.mapper
public class MybatisPlusConfig {
    /**
     * 添加分页插件
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        // 创建MyBatis-Plus拦截器实例
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 添加分页内部拦截器，指定数据库类型为MySQL
        // PaginationInnerInterceptor用于处理分页逻辑
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加

        // 注意事项：
        // 1. 如果配置多个插件，切记分页插件要最后添加
        // 2. 如果有多数据源可以不配置具体的DbType，否则建议配置具体的数据库类型
        return interceptor;
    }
}
